<pre>-- MODE = "REDACTEUR"on openCard  select text of cd fld "Question"  pass openCardend openCardon closeField  mark this cd -- ie. notSaved  pass closeFieldend closeFieldon commandKeyDown theKey  if theKey is not in "A,B,C,D,N,S" then pass commandKeyDown  if theKey is "A" then click at the loc of cd btn "A="  if theKey is "B" then click at the loc of cd btn "B="  if theKey is "C" then click at the loc of cd btn "C="  if theKey is "D" then click at the loc of cd btn "D="  if theKey is "N" then click at the loc of bg btn "Nouvelle question (N)"  if theKey is "S" then click at the loc of bg btn "Supprimer question (S)"end commandKeyDownon arrowKey direction  --------------------------------------------------------------------------  if cd fld "question" is "?" then    beep 1    put "Tu n'as pas tape la question." into problem    answer problem with "Aide" or "Compris"    if it is "aide" then      pushCard      go to cd "Question incomplete" of stack pile("aide")    end if    exit arrowKey  end if  --------------------------------------------------------------------------  if cd fld "choix multiple A" is "?" then    beep 1    put "Tu n'as pas tape le choix A." into problem    answer problem with "Aide" or "Compris"    if it is "aide" then      pushCard      go to cd "Choix A incomplet" of stack pile("aide")    end if    exit arrowKey  end if  --------------------------------------------------------------------------  if cd fld "choix multiple B" is "?" then    beep 1    put "Tu n'as pas tape le choix B." into problem    answer problem with "Aide" or "Compris"    if it is "aide" then      pushCard      go to cd "Choix B incomplet" of stack pile("aide")    end if    exit arrowKey  end if  --------------------------------------------------------------------------  if cd fld "choix multiple C" is "?" then    beep 1    put "Tu n'as pas tape le choix C." into problem    answer problem with "Aide" or "Compris"    if it is "aide" then      pushCard      go to cd "Choix C incomplet" of stack pile("aide")    end if    exit arrowKey  end if  --------------------------------------------------------------------------  if cd fld "choix multiple D" is "?" then    beep 1    put "Tu n'as pas tape le choix D." into problem    answer problem with "Aide" or "Compris"    if it is "aide" then      pushCard      go to cd "Choix D incomplet" of stack pile("aide")    end if    exit arrowKey  end if  --------------------------------------------------------------------------  if hilite of btn "A=" is false and hilite of btn "B=" is false   and hilite of btn "C=" is false and hilite of btn "D=" is false then    beep 1    put "Tu n'as pas cliquer sur la bonne reponse." into problem    answer problem with "Aide" or "Compris"    if it is "aide" then      pushCard      go to cd "bonneRep incomplete" of stack pile("aide")    end if    exit arrowKey  end if  --------------------------------------------------------------------------  if direction is "right" or direction is "down" then go to next cd  if direction is "left" or direction is "up" then go to prev cdend arrowKeyon mouseUp  if the target contains "card button" then    -- put char 1 of the short name of the target into bonneReponse    exit mouseUp  end if  if the target contains "card field" then    click at the loc of btn (word 3 of the short target & "=")    exit mouseUp  end ifend mouseUpon returnInField  -- add a line to the field who receives <return>  put the topLeft of the target into currentTopLeft  put the height of the target into currentHeight  put the textHeight of the target into lineHeight  set height of the target to currentHeight+lineHeight  set the topLeft of the target to currentTopLeft  alignQuestionPartsend returnInFieldon enterInField  tabKeyend enterInFieldon enterKey  tabKeyend enterKeyon tabKey  pass tabKey  -- default tabKey behavior provided by hyperCard.end tabKeyon newCard  if not cardPasted() then    toComputer    set name of this cd to "Question" && the short id of this cd    mark this cd -- ie.notSaved    set editBkgnd to false    ------------------------------------------------------------------------    repeat 5 times      doMenu "New field"      set style of last cd fld to transparent      put "?" into last cd fld    end repeat    ------------------------------------------------------------------------    repeat 4 times      doMenu "New button"      set style of last cd btn to radioButton      set family of last cd btn to 1    end repeat    ------------------------------------------------------------------------    set name of cd fld 1 to "Question"    set name of cd fld 2 to "Choix multiple A"    set name of cd fld 3 to "Choix multiple B"    set name of cd fld 4 to "Choix multiple C"    set name of cd fld 5 to "Choix multiple D"    set name of cd btn 1 to "A="    set name of cd btn 2 to "B="    set name of cd btn 3 to "C="    set name of cd btn 4 to "D="    ------------------------------------------------------------------------    set rect of cd fld "Question" to 3,25,507,45    set rect of cd fld "Choix multiple A" to 52,50,507,70    set rect of cd fld "Choix multiple B" to 52,75,507,95    set rect of cd fld "Choix multiple C" to 52,100,507,120    set rect of cd fld "Choix multiple D" to 52,125,507,145    set rect of cd button "A=" to 14,50,52,70    set rect of cd button "B=" to 14,75,52,95    set rect of cd button "C=" to 14,100,52,120    set rect of cd button "D=" to 14,125,52,145    ------------------------------------------------------------------------    set textFont of cd fld "Question" to "Monaco"    set textSize of cd fld "Question" to 12    ------------------------------------------------------------------------  end if  choose browse tool  pass newCardend newCard</pre>